#include <iostream>
#include <cstdlib>
#include <signal.h>
#include <unistd.h>

using namespace std;
    
int cnt = 0;

void handler(int signo)
{
    cout << "我是一个进程，刚刚获取了一个信号: " << signo << "cnt: " << cnt << endl;
    exit(1);
}

// 信号闹钟
int main()
{
    // 未来一秒钟之后会超时

    signal(SIGALRM, handler);

    alarm(1);
    // 如果没有自定义操作，默认alarm会自定义终止，会收到SIGALRM信号

    // 统计该进程一秒钟cnt++多少次
    while (1)
    {
        cnt++;
        // cout << "hello: " << cnt++ << endl;
    }

    return 0;
}
